package cn.whdream.mapper.sqlsqerver.ehipostnew.dbo;

import static cn.whdream.mapper.sqlsqerver.ehipostnew.dbo.PostingDetailCBDynamicSqlSupport.*;
import static org.mybatis.dynamic.sql.SqlBuilder.*;

import cn.whdream.test.entity.ehipostnew.dbo.PostingDetailCB;
import java.util.List;
import javax.annotation.Generated;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.dynamic.sql.SqlBuilder;
import org.mybatis.dynamic.sql.delete.DeleteDSL;
import org.mybatis.dynamic.sql.delete.MyBatis3DeleteModelAdapter;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.render.RenderingStrategy;
import org.mybatis.dynamic.sql.select.MyBatis3SelectModelAdapter;
import org.mybatis.dynamic.sql.select.QueryExpressionDSL;
import org.mybatis.dynamic.sql.select.SelectDSL;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.MyBatis3UpdateModelAdapter;
import org.mybatis.dynamic.sql.update.UpdateDSL;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

@Mapper
public interface PostingDetailCBMapper {
    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    long count(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @DeleteProvider(type=SqlProviderAdapter.class, method="delete")
    int delete(DeleteStatementProvider deleteStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @InsertProvider(type=SqlProviderAdapter.class, method="insert")
    int insert(InsertStatementProvider<PostingDetailCB> insertStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @ResultMap("PostingDetailCBResult")
    PostingDetailCB selectOne(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @SelectProvider(type=SqlProviderAdapter.class, method="select")
    @Results(id="PostingDetailCBResult", value = {
        @Result(column="Id", property="id", jdbcType=JdbcType.INTEGER, id=true),
        @Result(column="BusinessType", property="businesstype", jdbcType=JdbcType.SMALLINT),
        @Result(column="LeaseType", property="leasetype", jdbcType=JdbcType.SMALLINT),
        @Result(column="OrderNo", property="orderno", jdbcType=JdbcType.VARCHAR),
        @Result(column="PostYear", property="postyear", jdbcType=JdbcType.INTEGER),
        @Result(column="PostMonth", property="postmonth", jdbcType=JdbcType.SMALLINT),
        @Result(column="PostType", property="posttype", jdbcType=JdbcType.CHAR),
        @Result(column="CarId", property="carid", jdbcType=JdbcType.INTEGER),
        @Result(column="CarNo", property="carno", jdbcType=JdbcType.VARCHAR),
        @Result(column="VinNo", property="vinno", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarTypeId", property="cartypeid", jdbcType=JdbcType.INTEGER),
        @Result(column="CarTypeName", property="cartypename", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarPurchaseDate", property="carpurchasedate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="CarPlateDate", property="carplatedate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="PuCityName", property="pucityname", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderRegionId", property="orderregionid", jdbcType=JdbcType.SMALLINT),
        @Result(column="OrderRegionName", property="orderregionname", jdbcType=JdbcType.VARCHAR),
        @Result(column="FromDate", property="fromdate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ToDate", property="todate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="PuPointId", property="pupointid", jdbcType=JdbcType.SMALLINT),
        @Result(column="PuPointName", property="pupointname", jdbcType=JdbcType.VARCHAR),
        @Result(column="OrderStatus", property="orderstatus", jdbcType=JdbcType.CHAR),
        @Result(column="TotalPrice", property="totalprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="TotalIncome", property="totalincome", jdbcType=JdbcType.DECIMAL),
        @Result(column="PostPrice", property="postprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="CAVMonthPrice", property="cavmonthprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="CAVPrice", property="cavprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="CAVNotPrice", property="cavnotprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="ReceivablePrice", property="receivableprice", jdbcType=JdbcType.DECIMAL),
        @Result(column="AcctId", property="acctid", jdbcType=JdbcType.VARCHAR),
        @Result(column="LogOn", property="logon", jdbcType=JdbcType.VARCHAR),
        @Result(column="AcctName", property="acctname", jdbcType=JdbcType.VARCHAR),
        @Result(column="LogOnF", property="logonf", jdbcType=JdbcType.VARCHAR),
        @Result(column="AcctNameF", property="acctnamef", jdbcType=JdbcType.VARCHAR),
        @Result(column="StoreCompanyId", property="storecompanyid", jdbcType=JdbcType.SMALLINT),
        @Result(column="StoreCompanyName", property="storecompanyname", jdbcType=JdbcType.VARCHAR),
        @Result(column="CarCompanyId", property="carcompanyid", jdbcType=JdbcType.SMALLINT),
        @Result(column="CarCompanyName", property="carcompanyname", jdbcType=JdbcType.VARCHAR),
        @Result(column="SummaryID", property="summaryid", jdbcType=JdbcType.INTEGER),
        @Result(column="IsQYZJ", property="isqyzj", jdbcType=JdbcType.BIT),
        @Result(column="PostEhiCompanyId", property="postehicompanyid", jdbcType=JdbcType.SMALLINT),
        @Result(column="PostEhiCompanyName", property="postehicompanyname", jdbcType=JdbcType.VARCHAR),
        @Result(column="PostEhiCompanyAmount", property="postehicompanyamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="PostOtherCompanyId", property="postothercompanyid", jdbcType=JdbcType.SMALLINT),
        @Result(column="PostOtherCompanyName", property="postothercompanyname", jdbcType=JdbcType.VARCHAR),
        @Result(column="PostMgrCompanyAmount", property="postmgrcompanyamount", jdbcType=JdbcType.DECIMAL),
        @Result(column="IsOk", property="isok", jdbcType=JdbcType.TINYINT),
        @Result(column="gmt_create", property="gmtCreate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="gmt_modified", property="gmtModified", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="FeeType", property="feetype", jdbcType=JdbcType.CHAR),
        @Result(column="ContractType", property="contracttype", jdbcType=JdbcType.INTEGER),
        @Result(column="StatementNo", property="statementno", jdbcType=JdbcType.VARCHAR),
        @Result(column="ContractToDate", property="contracttodate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ContractFromDate", property="contractfromdate", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="ActiveFlag", property="activeflag", jdbcType=JdbcType.CHAR)
    })
    List<PostingDetailCB> selectMany(SelectStatementProvider selectStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    @UpdateProvider(type=SqlProviderAdapter.class, method="update")
    int update(UpdateStatementProvider updateStatement);

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<Long>> countByExample() {
        return SelectDSL.selectWithMapper(this::count, SqlBuilder.count())
                .from(postingDetailCB);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default DeleteDSL<MyBatis3DeleteModelAdapter<Integer>> deleteByExample() {
        return DeleteDSL.deleteFromWithMapper(this::delete, postingDetailCB);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int deleteByPrimaryKey(Integer id_) {
        return DeleteDSL.deleteFromWithMapper(this::delete, postingDetailCB)
                .where(id, isEqualTo(id_))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insert(PostingDetailCB record) {
        return insert(SqlBuilder.insert(record)
                .into(postingDetailCB)
                .map(id).toProperty("id")
                .map(businesstype).toProperty("businesstype")
                .map(leasetype).toProperty("leasetype")
                .map(orderno).toProperty("orderno")
                .map(postyear).toProperty("postyear")
                .map(postmonth).toProperty("postmonth")
                .map(posttype).toProperty("posttype")
                .map(carid).toProperty("carid")
                .map(carno).toProperty("carno")
                .map(vinno).toProperty("vinno")
                .map(cartypeid).toProperty("cartypeid")
                .map(cartypename).toProperty("cartypename")
                .map(carpurchasedate).toProperty("carpurchasedate")
                .map(carplatedate).toProperty("carplatedate")
                .map(pucityname).toProperty("pucityname")
                .map(orderregionid).toProperty("orderregionid")
                .map(orderregionname).toProperty("orderregionname")
                .map(fromdate).toProperty("fromdate")
                .map(todate).toProperty("todate")
                .map(pupointid).toProperty("pupointid")
                .map(pupointname).toProperty("pupointname")
                .map(orderstatus).toProperty("orderstatus")
                .map(totalprice).toProperty("totalprice")
                .map(totalincome).toProperty("totalincome")
                .map(postprice).toProperty("postprice")
                .map(cavmonthprice).toProperty("cavmonthprice")
                .map(cavprice).toProperty("cavprice")
                .map(cavnotprice).toProperty("cavnotprice")
                .map(receivableprice).toProperty("receivableprice")
                .map(acctid).toProperty("acctid")
                .map(logon).toProperty("logon")
                .map(acctname).toProperty("acctname")
                .map(logonf).toProperty("logonf")
                .map(acctnamef).toProperty("acctnamef")
                .map(storecompanyid).toProperty("storecompanyid")
                .map(storecompanyname).toProperty("storecompanyname")
                .map(carcompanyid).toProperty("carcompanyid")
                .map(carcompanyname).toProperty("carcompanyname")
                .map(summaryid).toProperty("summaryid")
                .map(isqyzj).toProperty("isqyzj")
                .map(postehicompanyid).toProperty("postehicompanyid")
                .map(postehicompanyname).toProperty("postehicompanyname")
                .map(postehicompanyamount).toProperty("postehicompanyamount")
                .map(postothercompanyid).toProperty("postothercompanyid")
                .map(postothercompanyname).toProperty("postothercompanyname")
                .map(postmgrcompanyamount).toProperty("postmgrcompanyamount")
                .map(isok).toProperty("isok")
                .map(gmtCreate).toProperty("gmtCreate")
                .map(gmtModified).toProperty("gmtModified")
                .map(feetype).toProperty("feetype")
                .map(contracttype).toProperty("contracttype")
                .map(statementno).toProperty("statementno")
                .map(contracttodate).toProperty("contracttodate")
                .map(contractfromdate).toProperty("contractfromdate")
                .map(activeflag).toProperty("activeflag")
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int insertSelective(PostingDetailCB record) {
        return insert(SqlBuilder.insert(record)
                .into(postingDetailCB)
                .map(id).toPropertyWhenPresent("id", record::getId)
                .map(businesstype).toPropertyWhenPresent("businesstype", record::getBusinesstype)
                .map(leasetype).toPropertyWhenPresent("leasetype", record::getLeasetype)
                .map(orderno).toPropertyWhenPresent("orderno", record::getOrderno)
                .map(postyear).toPropertyWhenPresent("postyear", record::getPostyear)
                .map(postmonth).toPropertyWhenPresent("postmonth", record::getPostmonth)
                .map(posttype).toPropertyWhenPresent("posttype", record::getPosttype)
                .map(carid).toPropertyWhenPresent("carid", record::getCarid)
                .map(carno).toPropertyWhenPresent("carno", record::getCarno)
                .map(vinno).toPropertyWhenPresent("vinno", record::getVinno)
                .map(cartypeid).toPropertyWhenPresent("cartypeid", record::getCartypeid)
                .map(cartypename).toPropertyWhenPresent("cartypename", record::getCartypename)
                .map(carpurchasedate).toPropertyWhenPresent("carpurchasedate", record::getCarpurchasedate)
                .map(carplatedate).toPropertyWhenPresent("carplatedate", record::getCarplatedate)
                .map(pucityname).toPropertyWhenPresent("pucityname", record::getPucityname)
                .map(orderregionid).toPropertyWhenPresent("orderregionid", record::getOrderregionid)
                .map(orderregionname).toPropertyWhenPresent("orderregionname", record::getOrderregionname)
                .map(fromdate).toPropertyWhenPresent("fromdate", record::getFromdate)
                .map(todate).toPropertyWhenPresent("todate", record::getTodate)
                .map(pupointid).toPropertyWhenPresent("pupointid", record::getPupointid)
                .map(pupointname).toPropertyWhenPresent("pupointname", record::getPupointname)
                .map(orderstatus).toPropertyWhenPresent("orderstatus", record::getOrderstatus)
                .map(totalprice).toPropertyWhenPresent("totalprice", record::getTotalprice)
                .map(totalincome).toPropertyWhenPresent("totalincome", record::getTotalincome)
                .map(postprice).toPropertyWhenPresent("postprice", record::getPostprice)
                .map(cavmonthprice).toPropertyWhenPresent("cavmonthprice", record::getCavmonthprice)
                .map(cavprice).toPropertyWhenPresent("cavprice", record::getCavprice)
                .map(cavnotprice).toPropertyWhenPresent("cavnotprice", record::getCavnotprice)
                .map(receivableprice).toPropertyWhenPresent("receivableprice", record::getReceivableprice)
                .map(acctid).toPropertyWhenPresent("acctid", record::getAcctid)
                .map(logon).toPropertyWhenPresent("logon", record::getLogon)
                .map(acctname).toPropertyWhenPresent("acctname", record::getAcctname)
                .map(logonf).toPropertyWhenPresent("logonf", record::getLogonf)
                .map(acctnamef).toPropertyWhenPresent("acctnamef", record::getAcctnamef)
                .map(storecompanyid).toPropertyWhenPresent("storecompanyid", record::getStorecompanyid)
                .map(storecompanyname).toPropertyWhenPresent("storecompanyname", record::getStorecompanyname)
                .map(carcompanyid).toPropertyWhenPresent("carcompanyid", record::getCarcompanyid)
                .map(carcompanyname).toPropertyWhenPresent("carcompanyname", record::getCarcompanyname)
                .map(summaryid).toPropertyWhenPresent("summaryid", record::getSummaryid)
                .map(isqyzj).toPropertyWhenPresent("isqyzj", record::getIsqyzj)
                .map(postehicompanyid).toPropertyWhenPresent("postehicompanyid", record::getPostehicompanyid)
                .map(postehicompanyname).toPropertyWhenPresent("postehicompanyname", record::getPostehicompanyname)
                .map(postehicompanyamount).toPropertyWhenPresent("postehicompanyamount", record::getPostehicompanyamount)
                .map(postothercompanyid).toPropertyWhenPresent("postothercompanyid", record::getPostothercompanyid)
                .map(postothercompanyname).toPropertyWhenPresent("postothercompanyname", record::getPostothercompanyname)
                .map(postmgrcompanyamount).toPropertyWhenPresent("postmgrcompanyamount", record::getPostmgrcompanyamount)
                .map(isok).toPropertyWhenPresent("isok", record::getIsok)
                .map(gmtCreate).toPropertyWhenPresent("gmtCreate", record::getGmtCreate)
                .map(gmtModified).toPropertyWhenPresent("gmtModified", record::getGmtModified)
                .map(feetype).toPropertyWhenPresent("feetype", record::getFeetype)
                .map(contracttype).toPropertyWhenPresent("contracttype", record::getContracttype)
                .map(statementno).toPropertyWhenPresent("statementno", record::getStatementno)
                .map(contracttodate).toPropertyWhenPresent("contracttodate", record::getContracttodate)
                .map(contractfromdate).toPropertyWhenPresent("contractfromdate", record::getContractfromdate)
                .map(activeflag).toPropertyWhenPresent("activeflag", record::getActiveflag)
                .build()
                .render(RenderingStrategy.MYBATIS3));
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<PostingDetailCB>>> selectByExample() {
        return SelectDSL.selectWithMapper(this::selectMany, id, businesstype, leasetype, orderno, postyear, postmonth, posttype, carid, carno, vinno, cartypeid, cartypename, carpurchasedate, carplatedate, pucityname, orderregionid, orderregionname, fromdate, todate, pupointid, pupointname, orderstatus, totalprice, totalincome, postprice, cavmonthprice, cavprice, cavnotprice, receivableprice, acctid, logon, acctname, logonf, acctnamef, storecompanyid, storecompanyname, carcompanyid, carcompanyname, summaryid, isqyzj, postehicompanyid, postehicompanyname, postehicompanyamount, postothercompanyid, postothercompanyname, postmgrcompanyamount, isok, gmtCreate, gmtModified, feetype, contracttype, statementno, contracttodate, contractfromdate, activeflag)
                .from(postingDetailCB);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default QueryExpressionDSL<MyBatis3SelectModelAdapter<List<PostingDetailCB>>> selectDistinctByExample() {
        return SelectDSL.selectDistinctWithMapper(this::selectMany, id, businesstype, leasetype, orderno, postyear, postmonth, posttype, carid, carno, vinno, cartypeid, cartypename, carpurchasedate, carplatedate, pucityname, orderregionid, orderregionname, fromdate, todate, pupointid, pupointname, orderstatus, totalprice, totalincome, postprice, cavmonthprice, cavprice, cavnotprice, receivableprice, acctid, logon, acctname, logonf, acctnamef, storecompanyid, storecompanyname, carcompanyid, carcompanyname, summaryid, isqyzj, postehicompanyid, postehicompanyname, postehicompanyamount, postothercompanyid, postothercompanyname, postmgrcompanyamount, isok, gmtCreate, gmtModified, feetype, contracttype, statementno, contracttodate, contractfromdate, activeflag)
                .from(postingDetailCB);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default PostingDetailCB selectByPrimaryKey(Integer id_) {
        return SelectDSL.selectWithMapper(this::selectOne, id, businesstype, leasetype, orderno, postyear, postmonth, posttype, carid, carno, vinno, cartypeid, cartypename, carpurchasedate, carplatedate, pucityname, orderregionid, orderregionname, fromdate, todate, pupointid, pupointname, orderstatus, totalprice, totalincome, postprice, cavmonthprice, cavprice, cavnotprice, receivableprice, acctid, logon, acctname, logonf, acctnamef, storecompanyid, storecompanyname, carcompanyid, carcompanyname, summaryid, isqyzj, postehicompanyid, postehicompanyname, postehicompanyamount, postothercompanyid, postothercompanyname, postmgrcompanyamount, isok, gmtCreate, gmtModified, feetype, contracttype, statementno, contracttodate, contractfromdate, activeflag)
                .from(postingDetailCB)
                .where(id, isEqualTo(id_))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExample(PostingDetailCB record) {
        return UpdateDSL.updateWithMapper(this::update, postingDetailCB)
                .set(id).equalTo(record::getId)
                .set(businesstype).equalTo(record::getBusinesstype)
                .set(leasetype).equalTo(record::getLeasetype)
                .set(orderno).equalTo(record::getOrderno)
                .set(postyear).equalTo(record::getPostyear)
                .set(postmonth).equalTo(record::getPostmonth)
                .set(posttype).equalTo(record::getPosttype)
                .set(carid).equalTo(record::getCarid)
                .set(carno).equalTo(record::getCarno)
                .set(vinno).equalTo(record::getVinno)
                .set(cartypeid).equalTo(record::getCartypeid)
                .set(cartypename).equalTo(record::getCartypename)
                .set(carpurchasedate).equalTo(record::getCarpurchasedate)
                .set(carplatedate).equalTo(record::getCarplatedate)
                .set(pucityname).equalTo(record::getPucityname)
                .set(orderregionid).equalTo(record::getOrderregionid)
                .set(orderregionname).equalTo(record::getOrderregionname)
                .set(fromdate).equalTo(record::getFromdate)
                .set(todate).equalTo(record::getTodate)
                .set(pupointid).equalTo(record::getPupointid)
                .set(pupointname).equalTo(record::getPupointname)
                .set(orderstatus).equalTo(record::getOrderstatus)
                .set(totalprice).equalTo(record::getTotalprice)
                .set(totalincome).equalTo(record::getTotalincome)
                .set(postprice).equalTo(record::getPostprice)
                .set(cavmonthprice).equalTo(record::getCavmonthprice)
                .set(cavprice).equalTo(record::getCavprice)
                .set(cavnotprice).equalTo(record::getCavnotprice)
                .set(receivableprice).equalTo(record::getReceivableprice)
                .set(acctid).equalTo(record::getAcctid)
                .set(logon).equalTo(record::getLogon)
                .set(acctname).equalTo(record::getAcctname)
                .set(logonf).equalTo(record::getLogonf)
                .set(acctnamef).equalTo(record::getAcctnamef)
                .set(storecompanyid).equalTo(record::getStorecompanyid)
                .set(storecompanyname).equalTo(record::getStorecompanyname)
                .set(carcompanyid).equalTo(record::getCarcompanyid)
                .set(carcompanyname).equalTo(record::getCarcompanyname)
                .set(summaryid).equalTo(record::getSummaryid)
                .set(isqyzj).equalTo(record::getIsqyzj)
                .set(postehicompanyid).equalTo(record::getPostehicompanyid)
                .set(postehicompanyname).equalTo(record::getPostehicompanyname)
                .set(postehicompanyamount).equalTo(record::getPostehicompanyamount)
                .set(postothercompanyid).equalTo(record::getPostothercompanyid)
                .set(postothercompanyname).equalTo(record::getPostothercompanyname)
                .set(postmgrcompanyamount).equalTo(record::getPostmgrcompanyamount)
                .set(isok).equalTo(record::getIsok)
                .set(gmtCreate).equalTo(record::getGmtCreate)
                .set(gmtModified).equalTo(record::getGmtModified)
                .set(feetype).equalTo(record::getFeetype)
                .set(contracttype).equalTo(record::getContracttype)
                .set(statementno).equalTo(record::getStatementno)
                .set(contracttodate).equalTo(record::getContracttodate)
                .set(contractfromdate).equalTo(record::getContractfromdate)
                .set(activeflag).equalTo(record::getActiveflag);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default UpdateDSL<MyBatis3UpdateModelAdapter<Integer>> updateByExampleSelective(PostingDetailCB record) {
        return UpdateDSL.updateWithMapper(this::update, postingDetailCB)
                .set(id).equalToWhenPresent(record::getId)
                .set(businesstype).equalToWhenPresent(record::getBusinesstype)
                .set(leasetype).equalToWhenPresent(record::getLeasetype)
                .set(orderno).equalToWhenPresent(record::getOrderno)
                .set(postyear).equalToWhenPresent(record::getPostyear)
                .set(postmonth).equalToWhenPresent(record::getPostmonth)
                .set(posttype).equalToWhenPresent(record::getPosttype)
                .set(carid).equalToWhenPresent(record::getCarid)
                .set(carno).equalToWhenPresent(record::getCarno)
                .set(vinno).equalToWhenPresent(record::getVinno)
                .set(cartypeid).equalToWhenPresent(record::getCartypeid)
                .set(cartypename).equalToWhenPresent(record::getCartypename)
                .set(carpurchasedate).equalToWhenPresent(record::getCarpurchasedate)
                .set(carplatedate).equalToWhenPresent(record::getCarplatedate)
                .set(pucityname).equalToWhenPresent(record::getPucityname)
                .set(orderregionid).equalToWhenPresent(record::getOrderregionid)
                .set(orderregionname).equalToWhenPresent(record::getOrderregionname)
                .set(fromdate).equalToWhenPresent(record::getFromdate)
                .set(todate).equalToWhenPresent(record::getTodate)
                .set(pupointid).equalToWhenPresent(record::getPupointid)
                .set(pupointname).equalToWhenPresent(record::getPupointname)
                .set(orderstatus).equalToWhenPresent(record::getOrderstatus)
                .set(totalprice).equalToWhenPresent(record::getTotalprice)
                .set(totalincome).equalToWhenPresent(record::getTotalincome)
                .set(postprice).equalToWhenPresent(record::getPostprice)
                .set(cavmonthprice).equalToWhenPresent(record::getCavmonthprice)
                .set(cavprice).equalToWhenPresent(record::getCavprice)
                .set(cavnotprice).equalToWhenPresent(record::getCavnotprice)
                .set(receivableprice).equalToWhenPresent(record::getReceivableprice)
                .set(acctid).equalToWhenPresent(record::getAcctid)
                .set(logon).equalToWhenPresent(record::getLogon)
                .set(acctname).equalToWhenPresent(record::getAcctname)
                .set(logonf).equalToWhenPresent(record::getLogonf)
                .set(acctnamef).equalToWhenPresent(record::getAcctnamef)
                .set(storecompanyid).equalToWhenPresent(record::getStorecompanyid)
                .set(storecompanyname).equalToWhenPresent(record::getStorecompanyname)
                .set(carcompanyid).equalToWhenPresent(record::getCarcompanyid)
                .set(carcompanyname).equalToWhenPresent(record::getCarcompanyname)
                .set(summaryid).equalToWhenPresent(record::getSummaryid)
                .set(isqyzj).equalToWhenPresent(record::getIsqyzj)
                .set(postehicompanyid).equalToWhenPresent(record::getPostehicompanyid)
                .set(postehicompanyname).equalToWhenPresent(record::getPostehicompanyname)
                .set(postehicompanyamount).equalToWhenPresent(record::getPostehicompanyamount)
                .set(postothercompanyid).equalToWhenPresent(record::getPostothercompanyid)
                .set(postothercompanyname).equalToWhenPresent(record::getPostothercompanyname)
                .set(postmgrcompanyamount).equalToWhenPresent(record::getPostmgrcompanyamount)
                .set(isok).equalToWhenPresent(record::getIsok)
                .set(gmtCreate).equalToWhenPresent(record::getGmtCreate)
                .set(gmtModified).equalToWhenPresent(record::getGmtModified)
                .set(feetype).equalToWhenPresent(record::getFeetype)
                .set(contracttype).equalToWhenPresent(record::getContracttype)
                .set(statementno).equalToWhenPresent(record::getStatementno)
                .set(contracttodate).equalToWhenPresent(record::getContracttodate)
                .set(contractfromdate).equalToWhenPresent(record::getContractfromdate)
                .set(activeflag).equalToWhenPresent(record::getActiveflag);
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int updateByPrimaryKey(PostingDetailCB record) {
        return UpdateDSL.updateWithMapper(this::update, postingDetailCB)
                .set(businesstype).equalTo(record::getBusinesstype)
                .set(leasetype).equalTo(record::getLeasetype)
                .set(orderno).equalTo(record::getOrderno)
                .set(postyear).equalTo(record::getPostyear)
                .set(postmonth).equalTo(record::getPostmonth)
                .set(posttype).equalTo(record::getPosttype)
                .set(carid).equalTo(record::getCarid)
                .set(carno).equalTo(record::getCarno)
                .set(vinno).equalTo(record::getVinno)
                .set(cartypeid).equalTo(record::getCartypeid)
                .set(cartypename).equalTo(record::getCartypename)
                .set(carpurchasedate).equalTo(record::getCarpurchasedate)
                .set(carplatedate).equalTo(record::getCarplatedate)
                .set(pucityname).equalTo(record::getPucityname)
                .set(orderregionid).equalTo(record::getOrderregionid)
                .set(orderregionname).equalTo(record::getOrderregionname)
                .set(fromdate).equalTo(record::getFromdate)
                .set(todate).equalTo(record::getTodate)
                .set(pupointid).equalTo(record::getPupointid)
                .set(pupointname).equalTo(record::getPupointname)
                .set(orderstatus).equalTo(record::getOrderstatus)
                .set(totalprice).equalTo(record::getTotalprice)
                .set(totalincome).equalTo(record::getTotalincome)
                .set(postprice).equalTo(record::getPostprice)
                .set(cavmonthprice).equalTo(record::getCavmonthprice)
                .set(cavprice).equalTo(record::getCavprice)
                .set(cavnotprice).equalTo(record::getCavnotprice)
                .set(receivableprice).equalTo(record::getReceivableprice)
                .set(acctid).equalTo(record::getAcctid)
                .set(logon).equalTo(record::getLogon)
                .set(acctname).equalTo(record::getAcctname)
                .set(logonf).equalTo(record::getLogonf)
                .set(acctnamef).equalTo(record::getAcctnamef)
                .set(storecompanyid).equalTo(record::getStorecompanyid)
                .set(storecompanyname).equalTo(record::getStorecompanyname)
                .set(carcompanyid).equalTo(record::getCarcompanyid)
                .set(carcompanyname).equalTo(record::getCarcompanyname)
                .set(summaryid).equalTo(record::getSummaryid)
                .set(isqyzj).equalTo(record::getIsqyzj)
                .set(postehicompanyid).equalTo(record::getPostehicompanyid)
                .set(postehicompanyname).equalTo(record::getPostehicompanyname)
                .set(postehicompanyamount).equalTo(record::getPostehicompanyamount)
                .set(postothercompanyid).equalTo(record::getPostothercompanyid)
                .set(postothercompanyname).equalTo(record::getPostothercompanyname)
                .set(postmgrcompanyamount).equalTo(record::getPostmgrcompanyamount)
                .set(isok).equalTo(record::getIsok)
                .set(gmtCreate).equalTo(record::getGmtCreate)
                .set(gmtModified).equalTo(record::getGmtModified)
                .set(feetype).equalTo(record::getFeetype)
                .set(contracttype).equalTo(record::getContracttype)
                .set(statementno).equalTo(record::getStatementno)
                .set(contracttodate).equalTo(record::getContracttodate)
                .set(contractfromdate).equalTo(record::getContractfromdate)
                .set(activeflag).equalTo(record::getActiveflag)
                .where(id, isEqualTo(record::getId))
                .build()
                .execute();
    }

    @Generated("org.mybatis.generator.api.MyBatisGenerator")
    default int updateByPrimaryKeySelective(PostingDetailCB record) {
        return UpdateDSL.updateWithMapper(this::update, postingDetailCB)
                .set(businesstype).equalToWhenPresent(record::getBusinesstype)
                .set(leasetype).equalToWhenPresent(record::getLeasetype)
                .set(orderno).equalToWhenPresent(record::getOrderno)
                .set(postyear).equalToWhenPresent(record::getPostyear)
                .set(postmonth).equalToWhenPresent(record::getPostmonth)
                .set(posttype).equalToWhenPresent(record::getPosttype)
                .set(carid).equalToWhenPresent(record::getCarid)
                .set(carno).equalToWhenPresent(record::getCarno)
                .set(vinno).equalToWhenPresent(record::getVinno)
                .set(cartypeid).equalToWhenPresent(record::getCartypeid)
                .set(cartypename).equalToWhenPresent(record::getCartypename)
                .set(carpurchasedate).equalToWhenPresent(record::getCarpurchasedate)
                .set(carplatedate).equalToWhenPresent(record::getCarplatedate)
                .set(pucityname).equalToWhenPresent(record::getPucityname)
                .set(orderregionid).equalToWhenPresent(record::getOrderregionid)
                .set(orderregionname).equalToWhenPresent(record::getOrderregionname)
                .set(fromdate).equalToWhenPresent(record::getFromdate)
                .set(todate).equalToWhenPresent(record::getTodate)
                .set(pupointid).equalToWhenPresent(record::getPupointid)
                .set(pupointname).equalToWhenPresent(record::getPupointname)
                .set(orderstatus).equalToWhenPresent(record::getOrderstatus)
                .set(totalprice).equalToWhenPresent(record::getTotalprice)
                .set(totalincome).equalToWhenPresent(record::getTotalincome)
                .set(postprice).equalToWhenPresent(record::getPostprice)
                .set(cavmonthprice).equalToWhenPresent(record::getCavmonthprice)
                .set(cavprice).equalToWhenPresent(record::getCavprice)
                .set(cavnotprice).equalToWhenPresent(record::getCavnotprice)
                .set(receivableprice).equalToWhenPresent(record::getReceivableprice)
                .set(acctid).equalToWhenPresent(record::getAcctid)
                .set(logon).equalToWhenPresent(record::getLogon)
                .set(acctname).equalToWhenPresent(record::getAcctname)
                .set(logonf).equalToWhenPresent(record::getLogonf)
                .set(acctnamef).equalToWhenPresent(record::getAcctnamef)
                .set(storecompanyid).equalToWhenPresent(record::getStorecompanyid)
                .set(storecompanyname).equalToWhenPresent(record::getStorecompanyname)
                .set(carcompanyid).equalToWhenPresent(record::getCarcompanyid)
                .set(carcompanyname).equalToWhenPresent(record::getCarcompanyname)
                .set(summaryid).equalToWhenPresent(record::getSummaryid)
                .set(isqyzj).equalToWhenPresent(record::getIsqyzj)
                .set(postehicompanyid).equalToWhenPresent(record::getPostehicompanyid)
                .set(postehicompanyname).equalToWhenPresent(record::getPostehicompanyname)
                .set(postehicompanyamount).equalToWhenPresent(record::getPostehicompanyamount)
                .set(postothercompanyid).equalToWhenPresent(record::getPostothercompanyid)
                .set(postothercompanyname).equalToWhenPresent(record::getPostothercompanyname)
                .set(postmgrcompanyamount).equalToWhenPresent(record::getPostmgrcompanyamount)
                .set(isok).equalToWhenPresent(record::getIsok)
                .set(gmtCreate).equalToWhenPresent(record::getGmtCreate)
                .set(gmtModified).equalToWhenPresent(record::getGmtModified)
                .set(feetype).equalToWhenPresent(record::getFeetype)
                .set(contracttype).equalToWhenPresent(record::getContracttype)
                .set(statementno).equalToWhenPresent(record::getStatementno)
                .set(contracttodate).equalToWhenPresent(record::getContracttodate)
                .set(contractfromdate).equalToWhenPresent(record::getContractfromdate)
                .set(activeflag).equalToWhenPresent(record::getActiveflag)
                .where(id, isEqualTo(record::getId))
                .build()
                .execute();
    }
}